Field of the Invention
The present invention relates to scheduling events on a calendar workspace, and more specifically to scheduling events on a calendar workspace of a touch screen device such as a smart phone. The invention may be generally applied to relocating objects or features of objects on a draggable workspace.
Description of Related Art
The electronic calendar is a common computer application. This application will typically offer the user multiple ways to view a calendar of events along with methods to assist with scheduling events. For instance, a month view will typically show the events for all the days in a month and allow the user to navigate between months. Users typically can create events on specific dates often by double clicking on those dates. This will open a form that allows the user to enter details about the event such as the scheduled time. Typically, users can also drag existing events between dates in month view to move them to other dates.
Another view is a list view where events are organized chronologically in a list. Typically separators are inserted that identify the date for each group of events that share the same date. List view offers minimal assistance with scheduling but is the most space efficient way for displaying a large number of events. This makes it a popular view on small screen devices such as smart phones.
Week view is another view that is typically offered by related art calendar applications. This view will show a column for every day of the week and rows for different times of the day. Labels above the columns identify the date and day of week for that column. These labels can be thought of as coordinates on the date axis of a calendar grid. The time-of-day is arranged vertically with the start of the day at the top of the columns and the end of the day at the bottom of the columns. Labels on the left side of the view identify the time-of-day corresponding to a horizontal line that is drawn across the columns. These labels can be thought of as coordinates on the time-of-day axis of the calendar grid. Events occupy a column corresponding to their scheduled date and a vertical region of the column corresponding to their start and end time. Typically, the entire 24 hours of a day does not fit in the vertical space allotted to the application's view window. In these cases a scrolling mechanism is used to allow the user to scroll through the entire day.
Week view is a popular view for finding a free time for a new event as the user can scroll to a period of day of interest, such as lunch time, and view this period across all the days of a week to identify a free or open time slot for a desired appointment.
The week view is one of a general set of n-day views where n can be any number of day columns, typically up to seven. On portable devices such as smart phones, the 1-day view is popular due to the limited screen space for displaying multiple columns.
The n-day views of related art calendar applications typically allow the user to create and reschedule events directly on the calendar grid. On computing devices that are aided by a mouse or mouse pad (i.e., mouse-assisted computers), dragging over the grid of an n-day view is typically supported as a method for creating an event for the corresponding time. Users can also drag existing events on these workspaces to reschedule them. This is a simple yet powerful feature because the user can utilize the same graphical user interface that identifies a free time when scheduling an event. This is even more powerful when the calendar application allows the user to overlay the events and/or busy time of other participants of the event. This capability is common across many calendar applications.
There are some limitations with this n-day view drag feature on related art calendar applications. One limitation is that a time granularity is enforced that causes the scheduled time of the event to snap to the granularity of the workspace when the user drags on the workspace. Typically, this time granularity is set to 30 minutes. This is done as an aid to the user since many events are scheduled on half hour boundaries. However, for events with start and/or end times that do not fall on these 30 minute boundaries, the user must exit the calendar view to access a form where they can enter the desired time directly without the aid of their calendar view. In some applications the user can configure the granularity of their views to achieve a smaller granularity. However, smaller granularities effectively act as a “zoom-in” feature that increase the vertical space allotted to an hour of time. This results in fewer hours fitting within the view window of the application. Consequently, the utility of the view is diminished.
Another limitation with the drag feature when rescheduling on an n-day view is that the existing scheduled time for an event may not be in the same view window as the desired scheduled time. Therefore, dragging the existing event to the desired time is not always possible. Sometimes, a vertical auto-scroll feature will cause the workspace to automatically scroll up or down when the user drags an event across the view window's boundary. This can be an awkward feature and is not well suited for browsing a calendar to find a suitable time because the system often makes wrong assumptions about how fast the user wants to scroll. It can often scroll too far before the user gets a chance to stop the auto-scroll. For some systems, the auto-scroll feature makes it difficult to return the event back to the original time. Horizontal auto-scroll to find alternative dates is typically not offered for these reasons.
On touch screen devices, such as a smart phone or tablet computer, the drag capability of a device is typically accomplished by touching the device screen with one's finger and dragging it across the display. This drag operation, however, will usually invoke the scroll capability of the device. For instance in a 1-day or 7-day view of a calendar application on a touch screen device, dragging one's finger up or down scrolls the entire view to allow the user to access all the hours of the corresponding days. As a result, it is not possible to drag on the calendar workspace to create or reschedule an event. These operations are instead delegated to an electronic form where the user enters the start and/or end time of an event without having the assistance of the calendar workspace to find a free time for the event.
These limitations of related art calendar applications result in several cases where the user must exit the calendar view and go to an editor form to enter the desired date and time of an event.